home *** CD-ROM | disk | FTP | other *** search
/ Nebula 1 / Nebula One.iso / Internet / PPP_Installation_Kit / PPP.FAQ.TXT < prev    next >
Text File  |  1995-12-26  |  32KB  |  763 lines

  1. PPP-2.2 for NeXTSTEP FAQs
  2.  
  3. There are two sets of FAQs for PPP. The first, comp.protocols.ppp Frequently
  4. Wanted Information, is maintained by Ignatios Souvatzis
  5. <ignatios@cs.uni-bonn.de> and is a FAQ that covers many different PPP
  6. implementations for many different computer platforms. It is very general in
  7. nature. The second, this document, identifies several common problems that
  8. one may encounter when trying to set up PPP on a NeXT system. Select one of
  9. these links to jump to the appropriate section:
  10.  
  11.    * How do I set up my system to send mail
  12.    * How do I change the host or domain name on outgoing mail
  13.    * Netinfo Sleeps whenever I try to send mail
  14.    * How do I set up my system as a PPP server
  15.    * How can I have getty run at 57600?
  16.    * I get the error ioctl(PPPIOCGUNIT): Inappropriate ioctl for device
  17.    * pppd says my link is not 8-bit clean
  18.    * I have an /etc/resolv.conf file but I still can't resolve names
  19.    * I changed my address to 127.0.0.1 but now my machine won't boot
  20.    * When I try to run TCPDUMP I get errors about /dev/bpf0 not being found
  21.    * When I start pppd I get the message Sorry - PPP is not available on
  22.      this system
  23.    * I stopped getting output to /usr/adm/messages or /usr/adm/ppp2.2.log
  24.    * Using PPP with TTYDSP on a NeXT cube fails
  25.    * If I do not include BPF, then compilation fails
  26.    * I am having troubles creating a chat script
  27.    * How can I create virtual host interfaces (Multi-home the machine)?
  28.  
  29. ----------------------------------------------------------------------------
  30.  
  31. How do I set up my system to send mail?
  32.  
  33. John Jay Feiler <jjfeiler@relief.com>
  34. writes:
  35.  
  36. You have to tell sendmail to forward the mail to the right place.  Make sure that /etc/sendmail/sendmail.cf is a link to /etc/sendmail/sendmail.mailhost.cf.  T
  37.  
  38. # major relay host: use the $M mailer to send mail to other domains
  39. # To have mail automatically forwarded to other domains, you should
  40. # replace this with the name of your major relay host.
  41. DR mail-relay
  42. CR mail-relay
  43.  
  44. You can do either of two things.  Either edit this file, replacing mail-relay with the machine that's on the other end of your ppp connection (or the name of t
  45.  
  46. You should also change
  47.  
  48. # Major relay mailer - typical choice is "ddn" if you are on the
  49. # Defense Data Network (e.g. Arpanet or Milnet).  All mail for
  50. # non-local domains will be forwarded to the major relay host using
  51. # the major relay mailer.  We chose "uucp" as the default because most
  52. # isolated networks use it to link their network with the outside
  53. # world.
  54.  
  55. # If you want to use a relay mailer, examine ruleset 0.  There are some
  56. # rules that need to be uncommented
  57. DMuucp
  58.  
  59. to
  60.  
  61. DMether
  62.  
  63. so that sendmail tries to send the mail directly, instead of queueing it up for uucp.  You also want something like 'sendmail -q' in your /etc/ppp/ip-up script
  64.  
  65. You'll also want to change the lines toward the end of the file as instructed.
  66.  
  67. # If you want to pass all other explicit domain names up the ladder
  68. # to our forwarder then uncomment the following line.
  69. #R$*<@$*.$+>$*          $#$M    $@$R $:$1<@$2.$3>$4     user@any.domain
  70. # and comment out this one.
  71. R$*<@$+.$->$*           $#ddn $@ $2.$3 $:$1<@$2.$3>$4   user@any.domain
  72.  
  73. Hope this helps...
  74.  
  75.         John
  76.  
  77. ----------------------------------------------------------------------------
  78.  
  79. How do I change the host or domain name on outgoing mail
  80.  
  81. There are two ways that you might want to change your mail address. If you
  82. have a standard ISP provider, the following mechanism is probably what you
  83. want. Tyng-Jing Yang <tjyang@cc.nsysu.edu.tw> writes:
  84.  
  85. The problem:
  86. I can receive my mail by PopOver1.3.app from my ISP (Internet service
  87. Provider). My ISP gave me my email address as abc@isp.com.
  88. But when I sent out my mail to my friend they received my email with
  89. the From: field as abc@myhostname.isp.com. So they can't auto reply to me!
  90.  
  91. Q. How I can change my email address (abc@myhostname.isp.com) to the address
  92. that my ISP gave me (abc@isp.com)  which can be poped over when I am ppp
  93. connected?
  94.  
  95. A. In /etc/sendmail/sendmail.hosts.cf file change from (1) to (2) (ie,
  96. uncomment the #Dj$m):
  97. (1)
  98. # my fully qualified hostname, $j, is now set by sendmail internally
  99. #Dj$?m$w.$m$|$w$.
  100. # if you want the gateway to assume the identity of its parent domain, use:
  101. #Dj$m
  102. (2)
  103. # my fully qualified hostname, $j, is now set by sendmail internally
  104. #Dj$?m$w.$m$|$w$.
  105. # if you want the gateway to assume the identity of its parent domain, use:
  106. Dj$m
  107.  
  108. A second case might be if you have registered your own domain name and you
  109. do not want to assume any other domain name. Timothy J. Luoma
  110. <luomat@cedman.remote.princeton.edu> writes:
  111.  
  112. I've been having some problem with my outgoing mail overridding my
  113. 'reply-to' line of 'luomat@capitalist.princeton.edu' with
  114. 'luomat%charisma@princeton.edu'.
  115.  
  116. I checkout out comp.mail.sendmail and asked for advice on hiding my
  117. hostname and just using the domain name.
  118.  
  119. The answer I was give included setting my local domain name in
  120. sendmail.cf to:
  121. Dmcapitalist.princeton.edu
  122.  
  123. and changing this line:
  124.  
  125. R$+                   $@$1<@$w>         tack on our hostname
  126.  
  127. to
  128.  
  129. R$+                     $@$1<@$m>       just use domain name
  130.  
  131. ----------------------------------------------------------------------------
  132.  
  133. Netinfo Sleeps whenever I try to send mail
  134.  
  135. Problem: Your link appears to come up successfully. However, if you try to
  136. send mail or perform any other operation that requires access to netinfo,
  137. you get a message similar to:
  138.      sendmail[546]: NetInfo timeout connecting to local domain, sleeping
  139.  
  140. Discussion: This problem is typically a result of an improper routing setup
  141. on the PPP client (your host). When PPP starts up, it will dynamically
  142. negotiate an IP address for use on the PPP interface (usually ppp0). If you
  143. don't specify anIP address to pppd, then the address will usually be
  144. provided by the peer. It may change each time that you bring up a PPP link.
  145. If you did specify an IP address, pppd will attempt to use that address
  146. first. If that fails, it will try to get an address from the peer. Either
  147. way, the PPP interface usually has a new IP address. The routing problem can
  148. result when trying to access your local host (and netinfo) on the IP address
  149. that was dynamically negotiated.
  150.  
  151. Solution: The solution is straightforward. You must add a route from the IP
  152. address that your PPP interface uses to the special loopback IP address
  153. 127.0.0.1. The route command will allow you to do this. For instance, if you
  154. are assigned the address 35.8.74.211 during PPP negotiation, you can add the
  155. needed route byentering (as the user root):
  156.                  /usr/etc/route add 35.8.74.211 127.0.0.1 0
  157.  
  158. This route needs to be added each time the link comes up. However, one
  159. problem with hard coding this command into /etc/ppp/ip-up is that you
  160. mayget a different IP address each time the link comes up. Fortunately,
  161. Bill Bereza <berezaw@river.it.gvsu.edu> submitted this nice script clip that
  162. can be pasted into /etc/ppp/ip-up. This will create the correct route entry
  163. for you automatically. Place this in /etc/ppp/ip-up:
  164.                      /usr/etc/route add $4 127.0.0.1 0
  165.  
  166. You will also want to add this little clip to /etc/ppp/ip-down:
  167.                      /usr/etc/route delete $4 127.0.0.1
  168.  
  169. This removes the route when your link goes down.
  170. ----------------------------------------------------------------------------
  171.  
  172. How do I setup my system as a PPP server?
  173.  
  174. Izumi Ohzawa <izumi@pinoko.berkeley.edu>
  175. writes:
  176.  
  177. Q: How does one set up a PPP server on NS?
  178.  
  179. A:
  180.  
  181. Here's a summary of steps to set up a PPP Client <-> Server connection
  182. where *you* have to set up the server side instead of using a PPP
  183. service offered by your university or other Internet providers.
  184.  
  185. My configuration is as follows but it should work with other NS
  186. platforms and modems.
  187.  
  188. Home:
  189.   NeXTcube 040 25MHz NS3.2 +USR SportsStar 14.4k +ppp2.2-0.1.9
  190. Server:
  191.   NeXTcube 040 25MHz NS3.2 +ZyXEL U1496E +ppp2.2-0.1.9 (+NXFax 1.04)
  192.  
  193. This note only illustrates specific scripts and options for PPP
  194. server setup.  It doesn't cover PPP installation itself, e.g.,
  195. expanding ppp installer package, editing /etc/rc.local, etc.
  196. Follow PPP install instructions for that.
  197.  
  198. PPP server setup described here essentially places your home machine
  199. as one of the local machines on the same subnet as the server, using
  200. the proxyarp mechanism (Server and home machines have the same
  201. subnet number).  This way, nothing has to be configured beyond the
  202. PPP server (e.g., in router/gateway), which means one less thing to
  203. ask your network administrator.
  204.  
  205. *** Note in the steps below:
  206. Edit IP addresses to suit your local domain.
  207. 128.32.111.sss is the IP address of PPP server "pppserver".
  208. 128.32.111.hhh is the IP address for the home machine "homehost".
  209.  
  210. IMPORTANT:
  211. You should NOT use just any 'hhh' you pick.  Make sure that the IP
  212. address for your home machine is properly allocated by your network
  213. administrator and registered with DNS.
  214.  
  215. ===================================================
  216. Office/Campus PPP server side setup:
  217. ===================================================
  218.  
  219. [0] (Skip step [0] and goto [1] if you use NXFax)
  220. First configure dial-up login so you can login to the server
  221. machine via modem/serial port as a regular shell user.
  222. I haven't tested this, because I am using NXFax, but the key
  223. points are as follows:
  224.  
  225.   (a) modify /etc/ttys
  226.         Turn on the 'ttydfa' or 'ttydfb' line, i.e.,
  227. ttydfa  "/usr/etc/getty D38400"          unknown         on
  228.  
  229.   (b) modify /etc/gettytab
  230.         Define D38400, e.g.:
  231. D38400:ap:p8:im=\r\n\r\nNeXT (%h) (%t)\r\n\r\r\n\r:sp#38400:
  232.  
  233.   (c) kill -HUP 1               (or reboot)
  234.  
  235. [NOTE: with NXFax, the above is not needed because FaxDaemon
  236. will exec getty only when it detects a data call.  Enable
  237. data call in NXFax.]
  238.  
  239. [1] Create user "ppp0" in NetInfo, using UserManager.app or "nu -a"
  240. and specify /usr/local/bin/pppserve as this user's shell.  This
  241. way, pppd will be automatically started when user "ppp0" logs in.
  242.  
  243. Check with:
  244. % nidump passwd / | grep ppp
  245. ppp0:BZKIbZ8A3t4aM:121:20:PPP:/Users/ppp0:/usr/local/bin/pppserve
  246.  
  247. [2] Make sure the script pppserve has execute permissions.
  248. # chmod a+x /usr/local/bin/pppserve
  249. # ls -l /usr/local/bin/pppserve
  250. -rwxr-xr-x  1 root wheel   616 Jun 11 17:00 /usr/local/bin/pppserve*
  251.  
  252. [3] #### Here's the pppserve script itself
  253. --- This is almost the same as Examples/pppup.remote ------------
  254. % cat /usr/local/bin/pppserve
  255. #!/bin/csh -f
  256.  
  257. # This script is used as the shell for a user account entitled ppp.
  258. # When users log into this account, PPP is automatically started
  259. # (through this script).  The 'echo' command is to help the remote
  260. # process synchronize with this end.
  261.  
  262. echo Starting PPP
  263. /usr/bin/mesg n
  264. /bin/stty -tostop litout
  265. exec /usr/local/bin/pppd
  266.  
  267. ------------------------
  268. [4] Setup necessary info for "proxyarp"
  269. Try command:
  270. % nidump -r machines /
  271.  
  272. The output must include something like below for "proxyarp" on the
  273. server to work.  Otherwise, you must have /etc/ethers file (see
  274. "man 5 ethers").  See also "man pppd", "man 8 arp" and "man 4 arp"
  275. for info on proxyarp.  Proxyarp advertises to the subnet that packets
  276. destined to homehost should be sent to the ethernet address of
  277. pppserver (pppserver acting as proxy for homehost).  Without proxy
  278. ARP working, IP packets from homehost can go out to the Internet,
  279. but packets from remote sites cannot come back to your home machine.
  280. This will result in the condition where TCP/IP stuff works only
  281. between homehost and pppserver, but attempts to connect to outside
  282. will fail (though you can connect to outside once you rlogin/telnet
  283. to pppserver).  It is not necessary to execute "arp -s ..." command
  284. explicitly on pppserver.  Option "proxyarp" to pppd will take care
  285. of everything dynamically as the link is brought up and taken down
  286. (see step [5]).
  287.  
  288.     name = (pppserver pppserver.berkeley.edu);
  289.     bootfile = mach;
  290.     bootparams = ();
  291.     en_address = 0:0:f:0:c1:3a;
  292.     ip_address = 128.32.111.sss;
  293.     serves = pppserver/local;
  294.  
  295. "en_address" is the ethernet address that is unique among all
  296. ethernet interfaces (hostid is typically derived from this).
  297. The ethernet address of any NS machine should be recorded in
  298. the boot log in /usr/adm/messages, so to find out, do:
  299. % grep Ethernet /usr/adm/messages
  300.  
  301. If the PPP server is also a NetInfo config server (master), then
  302. it might not have the above entries for itself.  Either add it, or
  303. create /etc/ethers with a line like
  304.  
  305. 0:0:f:0:c1:3a   pppserver
  306.  
  307. To check if "proxyarp" is working (while the PPP link is up),
  308. command "arp -a", on pppserver should show:
  309.    homehost (128.32.111.hhh) at 0:0:f:0:c1:3a permanent published
  310.  
  311. Command "arp -a" on other hosts on the same subnet as pppserver
  312. should show (after "ping" to each):
  313.    pppserver (128.32.111.sss) at 0:0:f:0:c1:3a
  314.    homehost (128.32.111.hhh) at 0:0:f:0:c1:3a
  315.  
  316. [5] Prepare options file for pppd (/etc/ppp/options).
  317. Here, I specify the IP address pair for client/server on the server
  318. side, so home machine doesn't have to specify them explicitly.
  319. This makes it easier to configure the client for multiple server
  320. possibilities (e.g., Annex server run by your institution or your
  321. own modem on your office machine).
  322.  
  323. % cat /etc/ppp/options
  324. 128.32.111.sss:128.32.111.hhh passive proxyarp bsdcomp 10,10
  325. lcp-echo-interval 15 lcp-echo-failure 3
  326.  
  327. [6] Troubleshooting
  328. In case of problems, try logging in via rlogin from another network
  329. host as user "ppp0", and check if it starts the script
  330. /usr/local/bin/pppserve correctly.  PPP won't work, but you should
  331. get something like below.  If you don't get it, check execute
  332. permissions and path for the login shell for user ppp0 in NetInfo:
  333.  
  334. % rlogin pppserver -l ppp0
  335. Password:
  336. Last login: Fri Jun 23 01:49:00 on ttydfa
  337. Starting PPP
  338. ~_!j~~_!
  339.  ....(several lines of garbage)...
  340. [Close Terminal window here.]
  341.  
  342. [7] /etc/shells should NOT contain /usr/local/bin/pppserve.
  343. You should not include the login shell for user ppp0 in /etc/shells.
  344. Not having it makes the system a bit more secure, especially if you
  345. just want to allow Internet access to user ppp0, but do not want
  346. ppp0 to see the server's file systems.  FTP daemon will deny access
  347. to user ppp0 if you leave /etc/shells alone.
  348.  
  349. ===================================================
  350. Home side setup:
  351. ===================================================
  352.  
  353. [H1] ---- /etc/ppp/options ---------
  354. /dev/cufa 38400 mru 296 mtu 296 lcp-echo-interval 15
  355. lcp-echo-failure 3 crtscts defaultroute modem
  356.  
  357. [H2] ---- /usr/local/bin/pppup ----------------
  358. #!/bin/sh
  359.  
  360. exec /usr/local/bin/pppd netmask 255.255.255.0 bsdcomp 10,10 connect "/usr/local/bin/chat -v -f /etc/ppp/script.office"
  361.  
  362. [H3] ---- /etc/ppp/script.office -----------------
  363. ABORT BUSY ABORT "NO CARRIER" ABORT "NO DIAL TONE" ABORT "ERROR" "" ATZ0 "OK" ATDT6431234 CONNECT "" ogin: ppp0 assword: xxxxxxxx PPP
  364.  
  365. [H4] Home machine has the same /etc/resolv.conf as that on the server.
  366.  
  367. ----
  368. I just type "pppup" on the home machine to bring up the link.
  369.  
  370. ----------------------------------------------------------------------------
  371.  
  372. How can I have getty run at 57600?
  373.  
  374. Problem: The NeXT supplied getty operates at a maximum speed of 38400.
  375.  
  376. Discussion: Those people who allow dialin acess to their NeXT system must
  377. enable getty on the appropriate serial device. However, one problem with the
  378. getty supplied with NeXT is that it has a maximum speed of 38400. Those
  379. wishing to dial into a NeXT PPP server are thus limited by the DTE speed of
  380. the peer. However, thanks to the work of Gert Doering
  381. <gdoering@physik.tu-muenchen.de>, there is a replacment getty that will run
  382. on NeXT systems. While Gert's mgetty is intended for Fax usage (and does
  383. work under NeXT, but that is another story), it may be used as a replacement
  384. for the NeXT supplied getty. mgetty will allow operation at 57600.
  385.  
  386. Solution: Get and install mgetty-0.22 according to the directions. Before
  387. you perform the make, install these Patches curteously supplied by Mark
  388. Salyzyn <mark@ve6mgs.ampr.ab.ca> and Christian Starkjohann <cs@ecs.co.at>.
  389. Once mgetty is installed, you must edit /etc/ttys and change the getty entry
  390. for your device. For my direct connection, my entry looks like:
  391.  
  392. ttyfa "/usr/local/bin/mgetty -x 9 -r -b -s 57600 ttyfa DNXFast" unknown on
  393. secure
  394.  
  395. The NXFast entry in /etc/gettytab looks like:
  396.  
  397. DNXFast::ap:im=\r\n\r\nNeXT / NXFast (%h) (%t)\r\n\r\r\n\r:sp#57600:
  398.  
  399. I am not certain that the DNXFast entry is even needed with mgetty.
  400. ----------------------------------------------------------------------------
  401.  
  402. I get the error: ioctl(PPPIOCGUNIT): Inappropriate ioctl for device
  403.  
  404. Problem pppd bombs out with an error similar to:
  405.  
  406. Jan 26 14:46:25 localhost pppd[256]: Connected...
  407. Jan 26 14:46:26 localhost pppd[256]: ioctl(PPPIOCGUNIT): Inappropriate ioctl
  408. for device
  409. Jan 26 14:46:26 localhost pppd[256]: Exit.
  410.  
  411. Discussion: There are two things that can cause this error. The most common
  412. error is that you are using the innappropriate device for communication to
  413. your modem. You should be using /dev/cufa or /dev/cufb. Second, the Loadable
  414. Kernel Server (LKS) and the user level daemon (pppd) must be of the same
  415. version. While unusual, the error above can be the result of using the wrong
  416. Loadable Kernel Server (LKS) with pppd (or vice versa). Some versions of PPP
  417. installed the LKS (ppp_reloc) in /usr/lib/kern_loader/ppp and some in
  418. /usr/local/ppp/reloc. The second is going to be the standard place for
  419. installation from now on.
  420.  
  421. Solution: Make sure that you are using the appropriate device for
  422. communications with your modem. Further, make sure that your /etc/rc.local
  423. is loading the correct version of the LKS and make sure you are really
  424. calling the correct pppd for use with the LKS that you loaded.
  425.  
  426. ----------------------------------------------------------------------------
  427.  
  428. pppd says my link is not 8-bit clean
  429.  
  430. Problem: Your pppd/chat dials the modem but you cannot get a negotiation to
  431. start. The /usr/adm/ppp2.2.log file shows something similar to:
  432.  
  433. Mar 13 12:02:41 crystal pppd[243]: sent [LCP ConfReq id=0x1 <pcomp>
  434. <accomp>]
  435. Mar 13 12:02:44 crystal pppd[243]: sent [LCP ConfReq id=0x1 <pcomp>
  436. <accomp>]
  437. Mar 13 12:02:47 crystal pppd[243]: sent [LCP ConfReq id=0x1 <pcomp>
  438. <accomp>]
  439. Mar 13 12:02:51 crystal pppd[243]: sent [LCP ConfReq id=0x1 <pcomp>
  440. <accomp>]
  441. Mar 13 12:02:54 crystal pppd[243]: sent [LCP ConfReq id=0x1 <pcomp>
  442. <accomp>]
  443. Mar 13 12:02:57 crystal pppd[243]: sent [LCP ConfReq id=0x1 <pcomp>
  444. <accomp>]
  445. Mar 13 12:03:00 crystal pppd[243]: sent [LCP ConfReq id=0x1 <pcomp>
  446. <accomp>]
  447. Mar 13 12:03:03 crystal pppd[243]: sent [LCP ConfReq id=0x1 <pcomp>
  448. <accomp>]
  449. Mar 13 12:03:06 crystal pppd[243]: sent [LCP ConfReq id=0x1 <pcomp>
  450. <accomp>]
  451. Mar 13 12:03:09 crystal pppd[243]: sent [LCP ConfReq id=0x1 <pcomp>
  452. <accomp>]
  453. Mar 13 12:03:12 crystal pppd[243]: LCP: timeout sending Config-Requests
  454. Mar 13 12:03:12 crystal pppd[243]: Connection terminated.
  455. Mar 13 12:03:12 crystal pppd[243]: Serial link is not 8-bit clean:
  456. Mar 13 12:03:12 crystal pppd[243]: All received characters had bit 7 set to
  457.  
  458.  
  459. Discussion: This is a common problem. It is typically the result of a
  460. failure to properly start the remote PPP process. The problem arises since
  461. the local PPP starts sending packets as soon as chat exits. Since there is
  462. no remote PPP process running to interpret the packets, the remote command
  463. line interpreter starts sending error messages for each received packet
  464. (considered garbage to the remote CLI). Thus, your local PPP process is
  465. receiveing error message text instead of the expected PPP packets. Since
  466. error message text is usually ascii (values < 127) PPP believes that the
  467. link is not 8-bit clean.
  468.  
  469. Solution: Make sure you add the '-v' option to chat (in your dial script)
  470. and then check the output of /usr/adm/ppp2.2.log to see why chat failed to
  471. start the remote PPP process.
  472. ----------------------------------------------------------------------------
  473.  
  474. I have a /etc/resolv.conf file but I still can't resolve names
  475.  
  476. Problem: You modified (or created an initial) /etc/resolv.conf file. You
  477. believe you put the proper information in for the nameservers. However, you
  478. still cannot resolve names. When you tried to fire up nslookup, it returned
  479. with a line similar to:
  480.  
  481.      Default Server: sidney
  482.      Address: 0.0.0.0
  483.      >
  484.  
  485. The Address 0.0.0.0 was displayed instead of the address of the machine you
  486. described in /etc/resolv.conf.
  487.  
  488. Discussion: Name resolution is a complex process that maps computer names to
  489. IP addresses (and vice versa). When you tell your machine to initiate an FTP
  490. session with host ftp.thoughtport.com, your machine must somehow figure out
  491. the IP address of the machine ftp.thoughtport.com. This process is called
  492. name resolution and is performed by the resolver.
  493.  
  494. While the details of this process are a bit tricky, it basically boils down
  495. to the fact that certain machines on the internet are designated as name
  496. servers. The resolver must contact a name server in order to perform the
  497. name to IP address translation. If you cannot contact a name server, then
  498. resolution will not occur.
  499.  
  500. The resolver gets the information about which name servers to contact out of
  501. the file /etc/resolv.conf (please note the spelling). This file can contain
  502. several lines, however the most important are the lines similar to:
  503.  
  504.      nameserver <IP Address>
  505.  
  506. When name resolution is properly configured you may use the program called
  507. nslookup to query the nameservers. As part of this program's initial output,
  508. it will describe which nameserver it actually contacted. The IP address of
  509. that nameserver should be the same as one of the IP addresses you put in
  510. your /etc/resolv.conf file.
  511.  
  512. The problem shown above, where the IP address is 0.0.0.0, means that
  513. nslookup was unable to contact a nameserver. If no nameserver is contacted,
  514. then name resolution will generally not work.
  515.  
  516. Solution: There are 2 possible reasons why you may have an /etc/resolv.conf
  517. file but still fail to get name resolution.
  518.  
  519.    *  You mispelled the file name (/etc/resolv.conf is the correct
  520.      spelling).
  521.    * You mistakenly supplied the actual host name instead of the IP address
  522.      for your nameserver. Since this host must be contacted before name
  523.      resolution can occur, you must supply an actual IP address and not a
  524.      name. If you supply a name, you get into a catch 22 sitution.
  525.  
  526. When you believe you have a correct /etc/resolv.conf, start up nslookup and
  527. see if it is able to contact the nameserver. If not, please mail the group (
  528. nextppp@listproc.thoughtport.com) for further help.
  529.  
  530. ----------------------------------------------------------------------------
  531.  
  532. I changed my address to 127.0.0.1 but now my machine won't boot
  533.  
  534. Problem: You followed the installation instructions regarding the setup of
  535. your host using the Hostmanater.app. However, after setting your address to
  536. 127.0.0.1, your machine would not reboot. Your system now times out when
  537. trying to access system services and essentially hangs during boot.
  538.  
  539. Discussion: This problem is caused by the local loopback interface not being
  540. properly configured during the boot process. The lo0 interface is not
  541. configured as UP at an early enough stage for some system resources to use.
  542.  
  543. Solution: As the user root, make a backup copy of the file /etc/iftab. Call
  544. it /etc/iftab.prePPP. Then, edit /etc/iftab and place the line:
  545.  
  546. lo0 inet 127.0.0.1 netmask 0xff000000 -trailers up
  547.  
  548. on a new line right before the -1- entry. You may now boot your machine as
  549. IP address 127.0.0.1.
  550. ----------------------------------------------------------------------------
  551.  
  552. When I try to run TCPDUMP I get errors about /dev/bpf0 not being found
  553.  
  554. Problem: You have successfully installed the BPF LKS. The output of
  555. /usr/adm/messages verifies that the PPP interfaces were properly attached to
  556. BPF. However, you are still unable to start tcpdump. You get a message
  557. complaining that tcpdump cannot find /dev/bpf0.
  558.  
  559. Discussion: Proper installation of BPF requires that you not only load the
  560. NeXT LKS (called bpf_reloc) but also that you create some special devices
  561. which tcpdump will use for communication with BPF.
  562.  
  563. Solution: To create the special files, log in as root, and then in a
  564. terminal window, execute these five commands:
  565.  
  566.   /usr/etc/mknod /dev/bpf0 c 32 0
  567.   /usr/etc/mknod /dev/bpf1 c 32 1
  568.   /usr/etc/mknod /dev/bpf2 c 32 2
  569.   /usr/etc/mknod /dev/bpf3 c 32 3
  570.   /usr/etc/mknod /dev/bpf4 c 32 4
  571.  
  572. Assuming that the BPF relocatable is properly installed, you should now be
  573. able to run tcpdump when a PPP link is up and active.
  574. ----------------------------------------------------------------------------
  575.  
  576. When I start pppd I get the message Sorry - PPP is not available on this
  577. system
  578.  
  579. Problem: The program pppd will not run. It exits with the error message
  580. Sorry - PPP is not available on this system.
  581.  
  582. Discussion: Pppd requires operating system support to work correctly. This
  583. support is provided in a module called a Loadable Kernel Server (LKS). The
  584. above error message is generated whenever the system detects that the PPP
  585. LKS is not properly loaded.
  586.  
  587. Solution: The LKS must be loaded each time your system is rebooted. In order
  588. to perform this task automatically, an entry must be added to the file
  589. called /etc/rc.local. This entry will automatically perform the operation
  590. each time the system reboots.
  591.  
  592. As user root, modify this file and add the following lines:
  593.  
  594.  
  595. # Load the PPP LKS
  596.  
  597. if [ -f /usr/local/ppp/reloc/ppp_reloc ]; then
  598.         /usr/etc/kl_util -a /usr/local/ppp/reloc/ppp_reloc
  599. fi
  600.  
  601. This assumes that the PPP LKS is actually stored in the file
  602. /usr/local/ppp/reloc/ppp_reloc. Further for this entry to work immediately
  603. after modifying /etc/rc.local, you must execute the kl_util command by hand
  604. or perform a system reboot.
  605.  
  606. To check if PPP is currently loaded, you may execute the following command:
  607.  
  608. /usr/etc/kl_util -s
  609.  
  610. If there is a server loaded for PPP you are ready to go.
  611. ----------------------------------------------------------------------------
  612.  
  613. I stopped getting output to /usr/adm/messages or /usr/adm/ppp2.2.log
  614.  
  615. Problem: I used to get messages in /usr/adm/ppp2.2.log or /usr/adm/messages.
  616. However, I don't get them now.
  617.  
  618. Discussion: This is typically the result of modifying the actual file in
  619. question. When your system starts up, the syslog daemon (syslogd) opens the
  620. files that are described in /etc/syslogd.conf. If you remove a file that
  621. syslogd has opened, then the daemon will not be able to correctly write to
  622. it. This is true even if you recreate the file. The daemon will have a file
  623. handle to the old non-existant file even though a new file exists. Further,
  624. if the file doesn't exist at syslogd startup time, the daemon will not
  625. recognize any new files created.
  626.  
  627. Solution: Make sure the files listed in /etc/syslogd.conf actually exist. If
  628. they do not, then as user root, create them using the touch command. For
  629. instance, if you want to initially create /usr/adm/ppp.2.2.log then execute:
  630.  
  631.   /usr/bin/touch /usr/adm/ppp2.2.log
  632.  
  633. Once the file is created you must either reboot your system (safest) or you
  634. may send syslogd a 'kill -HUP' signal.
  635.  
  636. If you want to clear a file that has become too large, you can first copy
  637. the file to a backup and then issue the following command (substituting the
  638. appropriate file name):
  639.  
  640.   cat > /usr/adm/messages
  641.   ^D
  642.  
  643. The ^D means you hold the control key down and type the D key. This will
  644. successfully clear out a file and simultaneously allow syslogd to continue
  645. writing to the file. This operation must be done as user root.
  646. ----------------------------------------------------------------------------
  647.  
  648. Using PPP with TTYDSP on a NeXT cube fails
  649.  
  650. Problem: When trying to use PPP-2.2 with TTYDSP, the PPP process fails with
  651. the message tcgetattr: invalid argument.
  652.  
  653. Discussion: TTYDSP is not compatible with PPP-2.2. PPP-2.2 uses line
  654. disciplines that will not interoperate with TTYDSP.
  655.  
  656. Solution: Currently None. A fix may be possible but would require lots of
  657. work. Sources are available for those interested in working on it. I have no
  658. plans to pursue this further. However, I might reconsider this decision as a
  659. paid consultant. Email me (Stephen J. Perkins <perkins@cps.msu.edu>) if
  660. interested.
  661. ----------------------------------------------------------------------------
  662.  
  663. If I do not include BPF, then compilation fails
  664.  
  665. Problem: I disabled BPF compilation in the Makefiles. However, the makefile
  666. still tries to compile BPF but dies in the process.
  667.  
  668. Discussion: This is caused by an error in makefile design. At the point
  669. where BPF starts to compile, the PPP LKS has already been successfully made
  670. (without BPF support). The Makefile shouldn't start trying to make the BPF
  671. LKS. The make fails because certain defines required by BPF are not defined
  672. when you disable BPF support.
  673.  
  674. Solution: Ignore the failed message. The PPP LKS (ppp_reloc) is correctly
  675. made (without BPF support).
  676. ----------------------------------------------------------------------------
  677.  
  678. I am having troubles creating a chat script
  679.  
  680. Problem: I cannot get my chat script to properly work.
  681.  
  682. Discussion: Chat is complex enough that one FAQ cannot describe all the
  683. problems. I'm hoping that some day, someone will volunteer to write a
  684. CHAT-HOWTO (in the spirit of the Linux HOW-TOs). For now, the only advice I
  685. can give you is to recognize that chat is usually called from within a shell
  686. script. You must be very careful to properly quote shell special characters
  687. you send to chat. For instance, you must be careful about symbols like <>&|.
  688.  
  689. Solution: Join the Mailing list and ask for help from the many fine people
  690. there. They can usually fix you right up!
  691. ----------------------------------------------------------------------------
  692.  
  693. How can I create virtual host interfaces (Multi-home the machine)?
  694.  
  695. Problem: I would like to make my machine answer to multiple IP addresses
  696. using a single interface.
  697.  
  698. Discussion: Many people who server WWW pages want to create virtual
  699. machines. These are named machines that have independent IP addresses.
  700. However, all virtual machines are really represented by one physical
  701. machine. The PPP LKS allows you to do this.
  702.  
  703. Solution: Alberto Ricart writes:
  704.  
  705. Thanks to Paul Lynch for pointing me in the right direction.
  706.  
  707. Here's what you need to do:
  708.  
  709. Get the PPP software. I am using PPP-2.2 for NEXTSTEP. Install the
  710. software (no need to configure anything unless you are going to use a
  711. ppp connection). It comes pre-packaged in a nice Installer package.
  712.  
  713. For each virtual host:
  714.  
  715. In HostManager, create a virtual machine, give it an IP address that
  716. is not used on your network (for this example 200.100.100.200)
  717.  
  718. Add something in your rc.local file that does this:
  719.  
  720. ifconfig ppp0 200.100.100.200 up netmask 255.255.255.0
  721. route add host 200.100.100.200 200.100.100.200 0
  722. arp -s 200.100.100.200 08:00:09:9d:7b:09 pub
  723.  
  724. (change those ip numbers to the 'virtual host ip' you assigned in
  725. HostManager above. Change the ethernet address in the arp line to the
  726. real address of the machine running Apache or whatever you are using
  727. as a httpd server)
  728.  
  729. Reconfigure your dns so that the machine is real to the name server
  730. inside and out (or have who ever runs dns publish your fake machine
  731. for you). (if you have dns installed, I'll assume you know how to do
  732. this, if not you should really get the O'Reilly Book.
  733.  
  734. End For each virtual host
  735.  
  736. Set up your Apache server for multi-homing, those docs are pretty
  737. good.  You'll need to add an entry for each host in the server.conf
  738.  
  739. That is it.
  740.  
  741. If you noticed, pppd is not called at all, it doesn't need to, the
  742. entire deal about the ppp software is to use the interfaces that the
  743. ppp software added to the kernel when it loaded (by default it comes
  744. with two ppp0 and ppp1, I am getting a hold of the source, I have
  745. heard that you can add up to ten ppp0-ppp9 to it). Better yet, ask
  746. NeXT to be more like the other UNIX vendors and include the source to
  747. the kernel, so that it is easier to do this sort of thing (although
  748. that may be harder...)
  749.  
  750. The only problem is that if you try to telnet to the virtual host from
  751. the machine homing it, it will tell you that the network is
  752. down. However, that is a minor glitch considering that everyone else
  753. on your network will see your virtual machine............(works from
  754. the outside)
  755.  
  756. All for now, it so simple as to be misleading,
  757.  
  758. ----------------------------------------------------------------------------
  759.  
  760. Last Updated December 15, 1995 by SJP
  761.  
  762. [HTML 2.0 Checked!]
  763.